package cn.echoparrot.domain.service;

import cn.echoparrot.domain.entity.Note;
import org.springframework.ai.document.Document;

import java.util.List;

/**
 *
 */
public interface NoteService {
    /**
     * 批量保存记忆条目。
     * 如果指定的记忆库不存在，则抛出异常。

     * @param notes 要保存的记忆条目列表
     */
    void save(List<Note> notes);

    /**
     * 基于语义的向量检索记忆库。
     * TODO 先有再优，后续再优化。这次的探索尝试设计不好。
     *
     * @param query 要检索的记忆条目
     * @return
     */
    List<Document> retrieve(String query, int topK);

    void delete(Note note);

    void update(Note note);

    void save(Note note);
}
